package com.lance.answer.gui.answer.gk.answer.task;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.lance.answer.dto.CompleteInfo;
import com.lance.answer.gui.answer.AnswerObject;
import com.lance.answer.gui.answer.Util;
import com.lance.answer.gui.answer.gk.answer.AnswerDTO;
import com.lance.answer.util.Constant;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.TimeUnit;

@Slf4j
public class UploadFileTask extends Thread {


    private final String driverPath;
    private final LinkedBlockingDeque<AnswerDTO> answerDTOS;

    public UploadFileTask(String driverPath, LinkedBlockingDeque<AnswerDTO> answerDTOS) {
        this.driverPath = driverPath;
        this.answerDTOS = answerDTOS;
    }

    @SneakyThrows
    @Override
    public void run() {

        while (answerDTOS.size() > 0) {
            AnswerDTO answerDTO = answerDTOS.take();
            String userName = answerDTO.getUsername();
            String password = answerDTO.getPwd();
            log.info("任务：{} 剩余 {} 行 用户名：{} 密码：{}，url:{}",
                    Thread.currentThread().getName(), answerDTOS.size(), userName, password, JSON.toJSONString(answerDTO.getUploadUrl()));
            run(answerDTO.getUploadUrl(),answerDTO.getSubjectName(),driverPath,userName,password,answerDTO.getTeacher());
            //todo
        }

        if (answerDTOS.size() == 0) {
            log.info("课程所有用户均已执行完毕，系统将在20min后结束");
            TimeUnit.MINUTES.sleep(20);
            return;
        }
    }







    // 管理学基础 2065001457555 19940419
    public static void run(List<String> urlTasks, String subjectName, String driverPath, String userName, String password,String teacher) throws Exception {

        String filePath = "libs//answerInfo//" +teacher+"//"+ subjectName;
        //  String filePath = "D:\\project\\answer-tool\\libs\\answerInfo\\" + subjectName;

        if (!new File(filePath).exists()) {
            new File(filePath).mkdirs();
        }

        filePath = filePath + "//" + userName + "-upload.txt";

        File completeInfoFile = new File(filePath);
        if (!completeInfoFile.exists()) {
            completeInfoFile.createNewFile();
        }
        InputStream inputStream = new FileInputStream(completeInfoFile);
        String completeInfoStr = IOUtils.toString(inputStream, "UTF-8");
        List<CompleteInfo> completeInfoList = JSONObject.parseArray(completeInfoStr, CompleteInfo.class);
        if (null == completeInfoList) {
            completeInfoList = Lists.newArrayList();
        }




        // 定义是否开启浏览器没有这门课程
        boolean isStartChrome = false;

        List<String> haveCompleteHomeWorkUrlSet = Lists.newArrayList();

        for (CompleteInfo info : completeInfoList) {
            if (info.isComplete()) {
                String homeworkUrl = info.getHomeworkUrl();
                if(Strings.isNullOrEmpty(homeworkUrl)){
                    continue;
                }
                if(homeworkUrl.contains(",")){
                    homeworkUrl = homeworkUrl.split(",")[0];

                }
                haveCompleteHomeWorkUrlSet.add(homeworkUrl);
            }
        }
//        System.err.println("haveCompleteHomeWorkUrlSet:"+JSON.toJSONString(haveCompleteHomeWorkUrlSet));
//        System.err.println("urlTasks:"+JSON.toJSONString(urlTasks));


//        if(haveCompleteHomeWorkUrlSet.size()>0&&urlTasks.contains(haveCompleteHomeWorkUrlSet.get(0))){
//            isStartChrome = false;
//        }

        for(String u:urlTasks){
            if(!haveCompleteHomeWorkUrlSet.contains(u)){
                isStartChrome = true;
            }
        }


        if (!isStartChrome) {
            return;
        }




        WebDriver driver = Util.getDriver(driverPath);
        //String url = "http://student.ouchn.cn/";
        String url = "http://passport.ouchn.cn/Account/Login?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3Dstudentspace%26redirect_uri%3Dhttp%253A%252F%252Fstudent.ouchn.cn%252F%2523%252Fsignin-oidc%2523%26response_type%3Did_token%2520token%26scope%3Dopenid%2520profile%2520ouchnuser%2520ouchnstudentspaceapi%2520offline_access%26state%3Dca1cb5d0270b49fdaea508b8a846c457%26nonce%3Dd257df51b0a141ac8ed35b1caf59ef4c";
        driver.get(url);
        Thread.sleep(3000);
        //Util.login(driver, "2065001457555", "19940419");
        Util.login(driver, userName, password);
        Util.switchToFirst(driver);
        Thread.sleep(3000);

        boolean isFindSubject = false;

        for (WebElement we : driver.findElements(By.className("media-body"))) {
            Util.switchToFirst(driver);
            // 找到管理学基础
            String mediaTitle = we.findElement(By.className("media-title")).getText();

            if (!mediaTitle.equals(subjectName)) {
         //   if (!mediaTitle.contains("机械CAD")) {
                continue;
            }
            isFindSubject = true;
            //点击进入学习的按钮
            WebElement studyButton = we.findElement(By.cssSelector("button[class='btn bg-primary']"));
            studyButton.click();
            //Util.switchToLast(driver);
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        if (!isFindSubject) {
            try {
                driver.close();
                driver.quit();
            } catch (Exception e) {

            }
            return;
        }

        System.out.println(urlTasks.toString());
        int i = 1;
        for (String urlTask : urlTasks) {

            // FIXME 6-29 ADD
            if(haveCompleteHomeWorkUrlSet.contains(urlTask)){
                continue;
            }
            // FIXME 6-29 ADD

            try {
                Util.switchToLast(driver);
                // FIXME 当完成第一份形考任务时，必须提交，否则会弹出 ”是否保存当前页面“消息
                driver.get(urlTask);
                Thread.sleep(2 * 1000);
                // 点击继续作业
                boolean isGoOn = true;
                for(WebElement we:driver.findElements(By.tagName("td"))){
                    if(we.getText().equals("已提交请评分")||we.getText().contains("已评分")){
                        System.err.println("??????????????????????已提交请评分");
                        CompleteInfo completeInfo = new CompleteInfo();
                        completeInfo.setComplete(true);
                        completeInfo.setHomeworkUrl(urlTask);
                        completeInfoList.add(completeInfo);
                        Thread.sleep(2000);
                        isGoOn = false;
                    }
                    if(we.getText().equals("草稿（未提交）")){

                        try{
                            for(WebElement we1:driver.findElements(By.cssSelector("*[class='btn btn-secondary']"))){
                                System.err.println("???"+we.getText());
                                if(we1.getText().trim().equals("提交作业")){
                                    we.click();
                                    Thread.sleep(2000);
                                    driver.findElement(By.id("id_submissionstatement")).click();
                                    Thread.sleep(1000);
                                    driver.findElement(By.id("id_submitbutton")).click();
                                    Thread.sleep(5000);
                                    break;
                                }
                            }

                        }catch (Exception e){

                        }
                        isGoOn = false;
                    }
                }
                if(!isGoOn){
                    i++;
                    continue;
                }

                // form-check


                Map<String,String> answers = Maps.newHashMap();
                answers.put("计算机应用基础","计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人计算机的发展越来越重要，基础的学习不能没有，学习好计算机基础更是为将来做准备。随着信息技术的高速发展并迅速渗透到，社会生活的各个方面，计算机日益成为人们学习、工作、生活不可缺少的基本工具，我相信再过不了几年，计算机将会日益壮大。进入大学，计算机无时无刻不伴随我们，给我们的学习生活带来便利与乐趣。这个学期是展现自我能力的一个好时机，在这个学期我们将会进行专业课考试，这就考验平时有没有认真听讲，在操作课时有没有认真完成老师布置的任务，还有平时自己积累的知识和经验，这些都将成为面临考试的一项重要的准备工作。计算机课是一门知识性和技能性相结合、理论性和操作性都很强的项目，与平时学的文化课不同。我们应该带着兴趣与积极向上的精神来学习这门课程，在计算机这方面学习更多的东西，为以后将要走上工作岗位的我们打下良好的基础老师对每个人都是很好并且很认真的，她会耐心的教导我们，教导我们正确使用计算机。老师说：‘’我们学习计算机不是为了以后去当一名程序员，而是让自己成为这个行业的精英。计算机的范围很广，要学习的东西有很多，所以我们要了解相关知识，多思考，多提问，学会学以致用，计算机网络使学习、生活、工作的资源消耗大为降低。我们这一代人用的都是高科技，以后将会有越来越多的高科技等待着我们去开发与研究！我相信在以后的学习生活中，我们都会日益上升，懂的东西越来越多，专业性越开越强，接受新颖的教育，充实专业的技能，不断学习，做到最好！");

                answers.put("思想道德与法治","大作业终结性考试试卷一\n" +
                        "一、材料分析题（20分）\n" +
                        "2021年9月17日，神舟十二号载人飞船返回舱在我国东风着陆场精准着陆，航天员聂海胜、刘伯明、 汤洪波在顺利完成三个月的空间站巡天之旅后凯旋，标志着我国空间站关键技术验证和建造阶段的第一次 载人航天飞行圆满成功。这是中国航天的新高度，也是中华民族的新高度，彰显了我国新型举国体制的巨 大优势，展现了中国特色社会主义制度的优越性，再一次向世人生动诠释了载人航天精神的时代伟力。人 无精神则不立，国无精神则不强。从“两弹一星”到载人航天，从北斗导航到月球探测，一代代中国航天 人不负党和人民的期待和嘱托，奋力拼搏、锐意进取，用智慧和汗水创造了一个又一个举世瞩目的辉煌成 就，孕育了航天传统精神、“两弹一星”精神、载人航天精神，以及新时代北斗精神和探月精神。“特别能 吃苦、特别能战斗、特别能攻关、特别能奉献”的载人航天精神，既是航天传统精神和“两弹一星”精神 的血脉质续，也是新时代北斗精神和探月精神的精神源泉，具有强烈的爱国主义情怀和鲜明的时代特征， 生动体现了以爱国主义为核心的民族精神和以改革创新为核心的时代精神。\n" +
                        "请理论联系实际分析：\n" +
                        "1.什么是时代精神？\n" +
                        "答：时代精神是每一个时代特有的普遍精神实质，是一种超脱个人的共同的集体意识。体现着时代精 神的英雄们主宰着生活在那个时代的人们的视野，当他们完成了自己的使命，新的英雄再用新的更合乎时 代精神的武器占领他们的宝座。体现于社会精神生活各个领域的历史时代的客观本质及其发展趋势。时代 的客观潮流是第一性的，时代精神是第二性的，时代精神的能动作用归根结底取决于它对时代潮流反映的 程度。时代精神具有时代的、历史的特点，它随着时代的推移，而不断变化发展，推陈出新。\n" +
                        "2.如何理解让改革创新成为青春远航的强大动力？\n" +
                        "答：改革创新是当代中国最突出、最鲜明的特点。大学生富有想象力和创造力，是改革创新的生力军, 要在改革创新的实践中奉献祖国、服务人民、实现价值，让改革创新成为青春远航的强大动力。\n" +
                        "中华民族是富有创新精神的民族。在历史的漫漫长河中，变通求新、因革损益、革故鼎新、与时俱进、 与日偕新等思想观念逐渐积淀为中华民族最深沉的民族禀赋。勇于创新创造的民族禀赋成就了辉煌灿烂的 中华文明。我国在历史上长期处于世界领先地位，我国思想文化、社会制度、经济发展、科学技术以及其 他许多方面对周边发挥了重要辐射和引领作用，中华文明对世界文明进步做出了巨大贡献，产生了深远影 响。究其深层精神根源，就在于中华民族创新创造这一宝贵的精神传统和民族禀赋。\n" +
                        "在当代中国，社会发展离不开改革创新，改革创新是社会发展的重要动力，坚持改革创新是新时代的\n" +
                        "迫切要求。创新始终是推动人类社会发展的第一动力。从某种意义上说，创新决定着世界政治、经济力量 对比的变化，也決定着各国、各民族的前途命运。创新能力是当今国际竞争新优势的集中体现。“在激烈 的国际竞争中，惟创新者进，惟创新者强，惟创新者胜。”今天，国际竞争的新优势越来越集中体现在创 新能力上。面对科技创新和产业革命新趋势，世界主要国家都在积极调整应对，努力寻找创新的突破口， 抢占发展的先机，纷纷出台创新战略，加大投入、加强人才、专利、标准等战略性创新资源的争夺，创新 战略竟争在综合国力竞争中的地位日益重要。\n" +
                        "如果把科技创新比作我国发展的新引擎，那么改革就是点燃这个新引擎必不可少的点火系。实施创新 驱动发展战略，最根本的是要増强自主创新能力，最紧迫的是要破除体制机制障得，最大限度地解放和激 发科技作为第一生产力所蕴含的巨大潜能，打通从科技强到产业强、经济强、国家强的通道，让改革释放 创新活力，让一切创新源泉充分涌流。“聪者听于无，明者见于未形。”改革创新永无止境。大学生要自觉 树立敢为天下先的志向和信心，敢于担当、勇于超越，在攻坚克难中追求卓越，在改革创新中引领世界潮 流。\n" +
                        "青年时期是创新创造的宝贵时期。新时代的大学生置身于实现中华民族伟大复兴的时代洪流之中，应 当以时代使命为己任，把握时代脉搏，迎接时代挑战，增强创新创造的能力和本领。\n" +
                        "二、简答题（10分）\n" +
                        "2017年10月18日，中国共产党第十九次全国代表大会的报告中指出，“人民代表大会制度是坚持 党的领导、人民当家作主、依法治国有机统一的根本政治制度安排，必须长期坚持、不断完善。要支持和 保证人民通过人民代表大会行使国家权力。”\n" +
                        "请简要回答：我国人民代表大会制度的主要内容有哪些？\n" +
                        "答：根据我国宪法的规定，人民代表大会制度的内容主要有以下五个方面：\n" +
                        "1、\t人民是国家的主人。人民当家作主、行使国家权力，是国家机关权力的来源。中华人民共和国的 —切权力属于人民，这是人民代表大会制度的核心，反映了人民与国家的关系。\n" +
                        "2、\t人民通过人民代表大会行使国家权力。人民行使国家权力、管理国家各项事务，不是直接的，而 是通过民主选举，产生各级人大代表，由各级人大代表组成各级人民代表大会来行使的。人民行使国家权 力的机关是全国人民代表大会和地方各级人民代表大会。各级人民代表大会都由民主选举产生，对人民负 责，受人民监督，代表人民的利益、按照人民的意志行使国家权力，从而保证人民在国家生活中的主人翁 地位。这反映了人民与人民代表大会的关系。\n" +
                        "3、\t人大统一行使国家权力，在这个前提下，国家的行政权、审判权、检察权明确划分，使国家的权 力机关和国家的行政、审判、检察机关协调一致地开展工作。国家行政机关、审判机关、检察机关都由人 民代表大会产生，对它负责，受它监督。各级行政机关是同级国家权力机关的执行机关，依照权力机关制 定的法律或者法规和作出的决议、决定，依法行政；各级审判机关、检察机关在审判、检察工作中适用权 力机关制定的法律或者法规，公正司法。这是我国的国家体制，反映了国家权力机关与国家行政、审判、 检察机关的关系。\n" +
                        "4、\t发挥中央和地方两个积极性。中央和地方的国家机构职权的划分，遵循在中央的统一领导下，充 分发挥地方的主动性、积极性的原则。这反映了中央与地方的关系。\n" +
                        "5、\t各少数民族聚居的地方实行区域自治，设立自治机关，行使自治权。各民族自治地方都是中华人 民共和国不可分离的部分。少数民族在聚居的地方通过民族区域自治制度而不是民族自决制度、联邦制形 式来管理地方国家事务，既保证少数民族能够充分享有和行使管理地方国家事务的权力，又维护民族团结 和国家统一。这反映了中央与特殊地方即民族区域自治地方的关系。\n");
                answers.put("中国近现代史纲要","中国近现代史,从主流和本质上来说,是中国一代又一代的仁人志士和人民群众为救亡图存和实现中华民族的伟大复兴而英勇奋斗、艰苦探索的历史；尤其是全国各族人民在中国共产党的领导下,进行伟大艰苦的斗争,经过新民主主义革命,赢得民族独立和人民解放的历史；经过社会主义革命、建设和改革,把一个极度贫弱的中国逐步变成一个初步繁荣昌盛、充满生机和活力的社会主义新中国的历史。\n" +
                        "近代,西方列强掀起了瓜分中国的狂潮。不仅从军事、经济对中国进行侵略,还从政治文化加以侵略控制,人民陷入了水深火热之中,民不聊生,经济凋敝,一片国将不国的惨状。压迫侵略,必然导致反抗,中国人民积极开展了各种形式的反抗斗争。\n" +
                        "帝国主义的侵略给中华民族带来了巨大的灾难。但是,列强发动的侵略战争和中国反侵略战争的失败从反面教育了中国人民,促进了中国人民的思考、探索和奋起。鸦片战争以后,中国人开始睁眼看世界了；他们翻译外国书籍,学习西方先进的现代科学知识,在一定程度上推进了中国的现代化。甲午中日战争以后,中国的民族意识开始普遍觉醒,开始有了较为强烈的民族危机感。于是出现了早期的维新思想,出现了一大批以救亡图存和振兴中华为己任的仁人志士。甲午战争以后的戊戌维新、辛亥革命,都是在救亡图存、振兴中华这面爱国主义大旗下发生的。这些斗争和探索,使中华民族燃烧起了新的希望,标志着中华民族的进一步觉醒。\n" +
                        "中国人民的抗日战争在世界反法西斯战争中占有重要的地位,是反法西斯战争的东方主战场,在残酷的战争中,全国各族人民紧紧团结在一起,战胜一切艰难困苦,中华民族形成了广泛的统一战线,显示了空前的大团结,形成了真正意义上的全民族抗战。没有全国各族人民的大团结就没有抗日战争的伟大胜利；以爱国主义为核心的伟大民族精神是中国人民团结奋进的精神动力。抗日战争大大丰富和升华了以爱国主义为核心的中华民族精神,这正是抗日战争得以坚持和胜利的重要思想保证。同时使中国人民认识到提高综合国力是中华民族屹立于民族之林的根本保证。\n" +
                        "一个国家只有首先自强,才能在世界上自立。在反法西斯战争中同时也体现了中国人民热爱和平,反对侵略战争,同时又不惧怕战争的可贵品质,中国人民进行反侵略战争,是为了捍卫中华民族生存和发展的权利,是对世界反法西斯战争和人类和平进步事业的重大贡献。通过艰苦卓绝的奋斗和几代人的不懈努力,最终确立了社会主义基本制度,为祖国的繁荣打下了坚定的基石。同时积极开展了各领域的改革并取得了显著的成效,国民经济飞速发展,人民生活水平日益提高,无不体现了中国共产党的正确领导。\n" +
                        "中国共产党从成立之日起，就肩负着实现中华民族伟大复兴的历史使命。它成立的那一天起，就是为了广大人民的根本利益，可以说，它是民心所向。在抗日期间，共产党采用的游击战略对日军造成了不小的伤害，在国国共争战时期，它顶着被围剿的压力与其周旋，最终在广大人民的帮助和支持下，取得了最终的胜利。\n" +
                        "“没有共产党，就没有新中国。”这是中国人基于自己的切身体验所确认的客观真理。这一点，甚至也得到了来自国民党营垒的一些人士的肯定。中国共产党人以行动表明了自己是最有远见，最富于牺牲精神，最坚定，而又最能虚心体察民情并依靠群众的坚强的革命者，从而赢得了广大中国人民的衷心拥护。90多年来，它把马克思主义基本原理同中国实际和时代特征相结合，取得革命建设改革伟大胜利，开创和发展了中国特色社会主义，从根本上改变了中国人民和中华民族的命运。坚持和发展中国特色社会主义，是实现中华民族复兴的必由之路。\n" +
                        "作为祖国未来的社会主义建设者、各条战线的生力军，我们一定要牢记中国近现代的历史及其基本经验，我们一定要牢记中国近现代的历史及其基本经验我们一定要牢记中国近现代的历史及其基本经验我们一定要牢记中国近现代的历史及其基本经验我们一定要牢记中国近现代的历史及其基本经验我们一定要牢记中国近现代的历史及其基本经验我们一定要牢记中国近现代的历史及其基本经验我们一定要牢记中国近现代的历史及其基本经验我们一定要牢记中国近现代的历史及其基本经验继承先辈们的优良传统，坚定对中国特色社会主义的道路自信、理论自信、制度自信，自觉地承担起时代赋予我们的历史使命。所以，我们要志存高远，脚踏实地，继续为实现中华民族伟大复兴的中国梦而努力奋斗！");
                answers.put("马克思主义基本原理概论","马克思主义基本原理概论大作业\n" +
                        "    1、什么是马克思主义？ 答∶ 马克思主义是由马克思和恩格斯创立并为后 继者所不断发展的科学理论体系，是 关于自然，社会和人类思维发展一般规律的学说，是关 于社会主义必然代替资本主义、最终实现共产主义的学说，是关于无产阶级解放、全人类解放和每个人自由而全面发展的学说，是指引人民创造美好生活的行动指南。\n" +
                        "    马克思主义是一个博大精深的理论体系。马克思主义哲学，马克思主义政治经济学和科学社会主义是其三个基本组成部分，它们有机统一并共同构成了 马克思主义理、论的主体内容。马克思主义还包含其他许多知识领域，如历 史学，政 治学，法学， 文化学，新闻学， 军事学等，并随着实践和科学的发展而不断丰富自身的内容。习近平指出∶“马克思主义理论体系和知识体系博大精深，涉及自然界、人类社会、人类思维各个领域，涉及历史、经济、政治、文化、社会、生态、科技，军事，党建等各个方面，不下大气力、不下苦功夫是难以掌 握真谛、会贯通的。“ 2、什么是马克思主义基本原理? 答：马克思主义基本原理是对马克思主义立场、观点，方法的集中概括，是马克思主义在其形成、发展和运用过程中经过实践反复检验而确立起来的具有普遍真理性的理论。我们可以从基本立场、基本观点、基本方法的有机统一中，来学习和把握马克思主义基本原理。\n" +
                        "    马克思主义的基本立场，是马克思主义观察、分析和解决问题的根本立足点和出发点。马克思主义以无产阶级的解放和全人类的解放为己任，以人的自由而全面发展为美好目标，以人民为中心，一切为了人民，一切依靠人民。马克思主义的基本观点，是关于 自然、 社会和人类思维发展一般规律的科学认识，是对人类思想成果和社会实践经验的科学总结。\n" +
                        "    马克思主义的基本方法，是建立在辩证唯物主义和历史唯物主义世界观和方法论的基础上，指导我们正确认识世界和改造世界的思想方法和工作方法，主要包括实事求是的方法、辩证分析的方法，社 会基本矛盾和主要矛盾分析的方法，历史分析的方法，阶级分析的方法，群众路线的方法年。\n" +
                        "    3、马克思、恩格斯为什么能够创立马克思主义? 答∶ 马克思主义的产 生，离不开马克思，恩格斯的素质条件。马克思，思格斯能够创立马克思主义的素 质条件是多方面的，概括起来说，主要包括以下几点∶ 第一，科学的世界观。马克思、恩格斯经历了世界观的根本转变，即从唯心主义转向唯物主父，从革命民主主义转向共产主文。““两个转向＇的完成，使马克思、恩格斯确立了唯物主义和共产主义的世界观，这使他们能够实事求是地分析问题、解决问题，能够将实现共产主义作为自 己的崇高理想。\n" +
                        "    第二，为人类服务的情怀。\n" +
                        "    马克思、恩格斯对资本 主义制度无比痛恨，对劳动人民群众无比同情。马克思在中学时 代就确立 了为人类事业献身的远大 理 想。\n" +
                        "    第三，勇 于 实践的革命精神。历史表明，马克思、恩格斯在 一生 中总是以这种或那种方式参加推翻资本主义制度的阶级斗争，自觉地投人到创立无产阶级政党、组织无产阶级队伍 的活动中，勇敢地同工人运动中各种机会主 义思潮进行不懈的斗争。\n" +
                        "    第四，追求 真理的科学品格。马克思，恩格斯 作为学者、科学家，具有不懈追求 真理的勇气和孜孜以求的科学探索精神。马克思，恩格斯具有超越自我、与时俱进的创新精神，他们从不故步 自封，而 是把理论 创新看做与时俱进的事业。\n" +
                        "    第五，渊博的学识。马克思、恩格斯具有强烈的求 知欲望 和刻苦的学习精神。\n" +
                        "    马克思在大学学习的是法律，但对历史和哲学进行了深人的研究。后来，他又对政治经济学，社会主义学说、文学、人类学等学科也作了深入研究，还广泛研究和涉猎了自然科学的一 些前沿学科 。恩格斯精通多种语言，对哲学、文学、历史、军事学、人类学等学科都有深入的研究，对自然科学中的某些学科提出了至今仍然有科学价值的结论。\n" +
                        "    4、科学认识马克思主义的当代价值 答∶ 马克思主义在 当今世界不但没有过时，而 且日益焕 发出旺 盛的生 命力，它的当代价值主要体现在∶ 一、观察当代世界变化的认识工具 马克思主义给予我们观察 当代世界的宏大视野。马克思主义是科学的世界观和方法论，是无产阶级和全人类解放的科学指南，它能够站在科学和时代的制高点上观察事物和现象，从而具有极 为广大的视野。\n" +
                        "    马克思主义给予我们透视时代风云的锐利目光。马克思主义掌握了人类社会发展的规律，具有唯物辩证的科学方法，善于透过现象看本质，能够从扑朔迷离的复杂现象中把握住问题的实质，从众多支流中找到主流，从局部的变幻中把握住总体和大局。\n" +
                        "    马克思主义给予我们展望未来世界的长远眼光和战略定力。观察当今世界就是和社会发展，不仅要看到现状，更要看到未来;不仅要把握变化脉络，更要观察演化趋势。运动、变化、发展是唯物辩证法的关键词，从运动中看到变化，从变化中看到发展，这是马克思主义辩证思想的深邃目光。用这样的目光来观察当今世界，就会将世界的变化和发展尽收眼底，从中发现其运行和演化的趋势和方向。\n" +
                        "    二、指引当代中国发展的行动指南 马克思主义是指引当代中国发展的精神旗帜。中国共产党在马克思主义的指导下， 带领中国人民取得 了革命，建设、改革的伟大胜利，我国社会发生了翻天覆地的历史性变化。二、指引当代中国发展的行动指南 马克思主义是指引当代中国发展的精神旗帜。中国共产党在马克思主义的指导下， 带领中国人民取得 了革命，建设、改革的伟大胜利，我国社会发生了翻天覆地的历史性变化。二、指引当代中国发展的行动指南 马克思主义是指引当代中国发展的精神旗帜。中国共产党在马克思主义的指导下， 带领中国人民取得 了革命，建设、改革的伟大胜利，我国社会发生了翻天覆地的历史性变化。二、指引当代中国发展的行动指南 马克思主义是指引当代中国发展的精神旗帜。中国共产党在马克思主义的指导下， 带领中国人民取得 了革命，建设、改革的伟大胜利，我国社会发生了翻天覆地的历史性变化。二、指引当代中国发展的行动指南 马克思主义是指引当代中国发展的精神旗帜。中国共产党在马克思主义的指导下， 带领中国人民取得 了革命，建设、改革的伟大胜利，我国社会发生了翻天覆地的历史性变化。二、指引当代中国发展的行动指南 马克思主义是指引当代中国发展的精神旗帜。中国共产党在马克思主义的指导下， 带领中国人民取得 了革命，建设、改革的伟大胜利，我国社会发生了翻天覆地的历史性变化。二、指引当代中国发展的行动指南 马克思主义是指引当代中国发展的精神旗帜。中国共产党在马克思主义的指导下， 带领中国人民取得 了革命，建设、改革的伟大胜利，我国社会发生了翻天覆地的历史性变化。\n");
                answers.put("毛泽东思想和中国特色社会主义理论体系概论","论述题：\n" +
                        "农村包围城市，最后夺取全国胜利的革命道路，是以毛泽东为代表的中国共产党人在领导中国革命实践中，把中国革命的具体实践与马克思主义的普遍原理相结合，创造性地逐步探索出来的一条具有中国特色的发展道路。试述中国农村包围城市革命发展道路理论的主要内容和伟大意义是什么？（30分）\n" +
                        "答：农村包围城市，最后夺取全国胜利的革命道路，是以毛泽东为代表的中国共产党人在领导中国革命实践中逐步摸索出来的一条具有中国特色的发展道路和总战略。其基本内容是，中国民主革命首先在敌人统治力量比较薄弱的农村，发动农民武装暴动，建立人民军队，建立革命根据地，把武装斗争、土地革命、建立政权结合起来，使之建成支持长期革命战争的战略基地。依托根据地积累发展革命力量，随着革命战争、人民武装和根据地的发展，逐步造成农村包围城市的战略态势，最后夺取全国胜利。继1927年8月1日南昌起义后，毛泽东于当年9月，领导湘赣边界秋收起义，组成工农革命军第一军第一师，共五千余人。经转战和三湾改编后，毛泽东率领这支不足千人的部队于10月下旬进入了井冈山地区，开始创建中国共产党领导的第一个农村革命根据地。1928年4月，朱德、陈毅率南昌起义余部和湘南起义农军，在毛泽东率部接应下，两军在井冈山会师，合编为工农革命军第四军，朱德任军长，毛泽东任党代表和军委书记，壮大了井冈山革命根据地的军事力量，对红军和土地革命战争的发展具有重大意义和影响。在土地革命战争时期，在共产党的领导下，先后在南方和陕甘地区建立了十几个革命根据地。毛泽东领导全党全军在抗日战争钟建立了19个大型根据地；解放战争钟建立了东北根据地，发展了华北、华东、华中、西北等广大解放区。这些根据地和解放区的建立与发展，逐步扩大了农村包围城市的战略态势，对最后夺取全国胜利起了决定性的战略作用。以毛泽东为代表的中国共产党人创立的这条革命道路，是世界无产阶级革命战争史上仅有的，发展了马克思列宁主义暴力革命的学说。创立了无产阶级领导的革命战争首先把主要战略方向指向农村的理论和斗争艺术。法国的“巴黎公社”，俄国的“十月革命”，都是把主要战略方向首先指向中心城市。半殖民地半封建的旧中国，是一个落后的农业大国，三座大山的主要力量盘踞在中心城市，农村是它们通知的薄弱环节。毛泽东毅然决定把主要战略方向首先指向农村，建立农村革命根据地，走农村包围城市的革命道路。成功地解决了依托根据地积累、发展革命力量的问题。随着根据地发展、扩建，革命力量不断得以发展、壮大。解决了以农民为主体发展革命军队、进行革命战争的问题。解放了的广大翻身农民，为保卫自己的利益，踊跃参军、支前。中国革命战争，实质上是中国共产党领导下的农民战争。成功地解决了由游击战向运动战发展的问题。随着根据地的扩大，人民武装随之扩大，并由游击队向正规军发展，从而解决了由游击战向运动战、正规战发展的问题。中国人民和人民军队，在中国共产党、毛泽东的领导下，长期坚持、坚决按照这条革命道路指引的方向，发展根据地和革命战争，开展各种革命运动，经过二十多年艰苦卓绝的斗争，到1949年，终于推翻了三座大山在中国的通知，夺取了全国的胜利，建立了中华人民共和国。实践证明，这是中国革命唯一正确的道路。\n");
                answers.put("思想道德修养与法律基础","一、材料分析题2022年初，中国疫情期间人民抗疫鲜明凸显出中华民族团结的强大凝聚力，深化和升华了中国民众对于中国精神的认知。疫情发生后，武汉封城，全国人民支援湖北战“疫”，医护与生活物资紧急调配湖北，医护人员不顾感染风险毅然决然奔向抗疫战场，党员干部下沉一线守土有责、守土尽责，有车市民在疫情最严重时刻主动充当接送医护人员上下班的临时司机，社区志愿者在各个小区守护老百姓生命安全，外卖小哥为减少人们外出降低感染风险让自己多跑路无接触送达生活用品，青年们勇敢地担起肩上的责任，中国青年用自己的时代担当书写了最美的青春故事。全国人民用中国心共铸中国魂，身处各地的每一个中国人都以强烈的大局意识将自身个体融入到举国抗疫的宏大主题叙事中，14亿中国人用史诗般的众志成城应对疫情，在抗疫战中勠力同心风雨同舟共同战斗，凝聚起疫情防控的无穷伟力，这就是中国精神在新时代的薪火相传。中国人民以伟大的中国精神构筑起钢铁长城，保证在抗疫战中打主动仗、打硬仗、打胜仗，彰显中国力量和中国风范，以中国精神捍卫了五星红旗的自豪和荣耀。\n" +
                        "放眼中外历史，大凡在世界历史上有较大影响的国家和民族，在崛起和发展的道路上，都会迸发出影响深远的精神力量，成为这个国家和民族进步发展的重要精神推动力。中国精神正是这样一种精神力量。它源自中华民族几千年的文明传统，迸发于近代以来中华民族“救亡图存”、追梦复兴的历程，彰显于改革开放以来中国快速崛起的实践，具有很强的民族集聚、动员与感召效应，呈现出一种生生不息、蓬勃向上的精神上的洪钟大吕，是实现中华民族伟大复兴的强大精神琴:柱和巨大动力源泉。\n" +
                        "中华文化的力量,集中表现民族精神的力量。中华民族精神始终是维系中华各族人民共同生活的精神纽带,支撑中华民族生存、发展的精神支柱,推动中华民族走向繁荣、强大的精神动力,是中华民族之魂。只有弘扬和培育中华民族精神,才能为中华民族伟大复兴提供强大的精神支撑。\n" +
                        "富强、民主、文明、和谐，是国家层面的价值目标自由、平等、公正、法治，是社会层面的价值取向；爱国、敬业、诚信、友善，是公民个人层面的价值准则。\n" +
                        "一、富强、民主、文明、和谐富强、民主、文明、和谐”，是我国社会主义现代化国家的建设目标，也是从价值目标层面对社会主义核心价值观基本理念的凝练，在社会主义核心价值观中居于最高层次，对其他层次的价值理念具有统领作用。富强即国富民强，是社会主义现代化国家经济建设的应然状态，是中华民族梦寐以求的美好夙愿，也是国家繁荣昌盛、人民幸福安康的物质基础。民主是人类社会的美好诉求。\n" +
                        "二、自由、平等、公正、法治“自由、平等、公正、法治”，是对美好社会的生动表述，也是从社会层面对社会主义核心价值观基本理念的凝练。它反映了中国特色社会主义的基本属性，是我们党矢志不渝、长期实践的核心价值理念。自由是指人的意志自由、存在和发展的自由，是人类社会的美好向往，也是马克思主义追求的社会价值目标。平等指的是公民在法律面前的一律平等，其价值取向是不断实现实质平等。它要求尊重和保障人权，人人依法享有平等参与、平等发展的权利。\n" +
                        "三、爱国、敬业、诚信、友善“爱国、敬业、诚信、友善”，是公民基本道德规范，是从个人行为层面对社会主义核心价值观基本理念的凝练。它覆盖社会道德生活的各个领域，是公民必须恪守的基本道德准则，也是评价公民道德行为选择的基本价值标准。爱国是基于个人对自己祖国依赖关系的深厚情感，也是调节个人与祖国关系的行为准则。它同社会主义紧密结合在一起，要求人们以振兴中华为己任，促进民族团结、维护祖国统一、自觉报效祖国。敬业是对公民职业行为准则的价值评价，要求公民忠于职守，克己奉公，服务人民，服务社会，充分体现了社会主义职业精神。诚信即诚实守信，是人类社会千百年传承下来的道德传统，也是社会主义道德建设的重点内容，它强调诚实劳动、信守承诺、诚恳待人。友善强调公民之间应互相尊重、互相关心、互相帮助，和睦友好，努力形成社会主义的新型人际关系。\n" +
                        "其意义:实际上回答了我们要建设什么样的国家,建设什么样的社会,培育什么样的公民的重大问题,为培养和践行社会主义核心价值观提供了基本遵循,对于巩固马克思主义在意识形态领域的指导地位,巩固全党全国人民团结奋斗的共同思想基础，对于促进人的全面发展，引领社会主义全面进步,对于集聚全面建成小康社会，实现中华民族伟大复兴中国梦的强大正能量,具有重要现实意义和深远历史意二、材料分析题《中华人民共和国宪法》规定：“中国共产党领导的多党合作和政治协商制度将长期存在和发展。”请回答：我国的政治协商会议的主要职能是什么？中国共产党和各民主党派的关系是什么？（20分）答：中国人民政治协商会议的主要职能是政治协商和民主监督，组织参加政协的各党派、团体和各族各界人士参政议政。\n" +
                        "政治协商，就是对国家和地方的大政方针以及政治、经济、文化和社会生活中的重要问题在决策之前进行协商和就决策执行过程中的重要问题进行协商。中国人民政治协商会议全国委员会和地方委员会可根据中国共产党、人民代表大会常务委员会、人民政府、民主党派、人民团体的提议，举行有各党派、团体的负责人和各族各界人士的代表参加的会议，进行协商，亦可建议上列单位将有关重要问题提交协商。\n" +
                        "民主监督，就是对国家宪法、法律和法规的实施情况，对中共中央与国家领导机关制定的重大方针、政策的贯彻执行情况，对国家机关及其工作人员在履行职责、遵纪守法、为政清廉等方面的情况，通过建议和批评进行监督。\n" +
                        "参政议政是政治协商和民主监督的拓展和延伸，其内容和形式除与政治协商和民主监督相同的以外，还包括选择人民群众关心、党政部门重视、政协有条件做的课题，组织调查和研究，积极主动地向党政领导机关提出建设性的意见；通过多种方式，广开言路，广开才路，充分发挥委员专长和作用，为改革开放和社会主义现代化建设献计献策等。\n" +
                        "中国共产党是领导我国社会主义各项事业的领导核心，是执政党。各民主党派是接受中国共产党领导，同共产党通力合作，共同致力于社会主义事业的亲密友党，是参政党。中国共产党与各民主党派的关系，既是政治上领导与被领导的关系，也是亲密合作的友党关系。这种关系是在我国革命和建设的长期过程中形成的，是有中国特色社会主义的新型政党关系，它根本不同于西方资本主义国家那种执政党与反对党，在朝党与在野党互相倾轧、互相斗争的关系。\n");
                answers.put("习近平新时代中国特色社会主义思想","习近平总书记深情回忆他初中一年级时上政治课的情景：“我的政治课老师在讲述焦裕禄的事迹时数度哽咽，一度讲不下去了，捂着眼睛抽泣，特别是讲到焦裕禄肝癌最严重时把藤椅给顶破了，我听了很受震撼”。总书记有感而发，深刻指出，思政课教师“要给学生心灵埋下真善美的种子，引导学生扣好人生第一粒扣子”；思政课建设“要向改革创新要活力”；各级党委“要把思政课建设摆上重要议程”……\n" +
                        "\n" +
                        "2019年3月18日，人民大会堂见证了一堂特殊而难忘的思政课——习近平总书记主持召开学校思想政治理论课教师座谈会，发表重要讲话，围绕新时代培养什么人、怎样培养人、为谁培养人这一根本问题，深刻回答了事关思政课建设的四个重要问题。\n" +
                        "\n" +
                        "第一个问题：办好思想政治理论课意义重大；\n" +
                        "\n" +
                        "第二个问题：办好思想政治理论课关键在教师，关键在发挥教师的积极性、主动性、创造性；\n" +
                        "\n" +
                        "第三个问题：推动思想政治理论课改革创新，不断增强思政课的思想性、理论性和亲和力、针对性；\n" +
                        "\n" +
                        "第四个问题：加强党对思想政治理论课建设的领导。\n" +
                        "\n" +
                        "习近平总书记这篇《思政课是落实立德树人根本任务的关键课程》重要讲话，坚持理论和实践、历史和现实相结合，以鲜明的问题导向、目标导向，深刻阐述讲好思政课的重大意义，对提高思政课教师素养、推动思政课改革创新、加强党对思政课建设的领导提出明确要求、作出全面部署，为培养一代又一代社会主义建设者和接班人提供了根本遵循。\n" +
                        "\n" +
                        "落实立德树人根本任务的关键课程\n" +
                        "\n" +
                        "“在新冠肺炎疫情防控斗争中，你们青年人同在一线英勇奋战的广大疫情防控人员一道，不畏艰险、冲锋在前、舍生忘死，彰显了青春的蓬勃力量，交出了合格答卷。”2020年3月15日，习近平总书记给北京大学援鄂医疗队全体“90后”党员回信，勉励广大青年让青春在党和人民最需要的地方绽放绚丽之花。\n" +
                        "\n" +
                        "青春不负新时代。面对新冠肺炎疫情这场大战大考，以“90后”为代表的青年一代挺身而出、担当奉献，充分展现了新时代中国青年的精神风貌，生动反映了用习近平新时代中国特色社会主义思想铸魂育人的丰硕成果，深刻体现了习近平总书记关于培养德智体美劳全面发展的社会主义建设者和接班人的战略部署。\n" +
                        "\n" +
                        "教育是民族振兴、社会进步的重要基石。培养什么人，是教育的首要问题。每个国家都是按照自己的政治要求来培养人的。我国是中国共产党领导的社会主义国家，我们党立志于中华民族千秋伟业，这就决定了我们的教育是社会主义教育，必须全面贯彻党的教育方针，落实立德树人根本任务，培养一代又一代拥护中国共产党领导和我国社会主义制度、立志为中国特色社会主义事业奋斗终身的有用人才。\n" +
                        "\n" +
                        "“思政课是落实立德树人根本任务的关键课程，思政课作用不可替代，思政课教师队伍责任重大。”在这篇重要讲话中，习近平总书记站在“青少年是祖国的未来、民族的希望”的高度，强调青少年阶段是人生的“拔节孕穗期”，最需要精心引导和栽培，最重要的是教给他们正确的思想，引导他们走正路。这就对办好思政课提出明确要求：开展马克思主义理论教育，用习近平新时代中国特色社会主义思想铸魂育人，引导学生坚定“四个自信”，厚植爱国主义情怀，把爱国情、强国志、报国行自觉融入坚持和发展中国特色社会主义、建设社会主义现代化强国、实现中华民族伟大复兴的奋斗之中。这是我们党历史经验的总结，是现实的迫切要求，是赢得未来的战略任务。\n" +
                        "\n" +
                        "我们党历来高度重视思政课建设。毛泽东同志曾经深刻指出：“没有正确的政治观点，就等于没有灵魂。”在这篇重要讲话中，习近平总书记全面回顾了我们党在革命、建设、改革各个历史时期，对思政课建设作出的重要部署、取得的重要成就。总书记特别结合自己上中学时学政治课本《做革命的接班人》的难忘经历，朴素而深刻地阐明了思政课对人们理想信念和人生选择是多么重要！\n" +
                        "\n" +
                        "“办好思政课，是我非常关心的一件事。”党的十八大以来，习近平总书记站在党和国家事业发展全局的高度，围绕培养什么人、怎样培养人、为谁培养人这一根本问题，以高远的历史站位、宽广的国际视野、深邃的战略眼光，高度重视培养社会主义建设者和接班人。在党的十九大以及全国高校思想政治工作会议、全国教育大会、学校思想政治理论课教师座谈会等重要会议上，在全国各地调研时，在北京市海淀区民族小学、北京市八一学校、北京大学、北京师范大学、南开大学等学校考察时，在给中央民族大学附属中学全校学生的回信、给中国石油大学（北京）克拉玛依校区毕业生的回信、给哈尔滨工业大学建校100周年的贺信、给研究生教育工作的重要指示中……总书记发表一系列重要讲话，作出一系列重要指示、批示，提出一系列重要部署，指明了办好思政课的根本任务、方向目标、方法路径，为办好新时代思政课提供了科学指引和强大动力。\n" +
                        "\n" +
                        "在习近平新时代中国特色社会主义思想特别是教育重要论述指引下，各级各类学校全面贯彻党的教育方针，紧紧围绕立德树人这一根本任务，将培育和践行社会主义核心价值观融入教育教学全过程，不断推动思政课建设在改进中加强、在创新中提高，课程质量和水平稳步提升，大中小学德育一体化格局逐步形成，青青校园焕发新活力，莘莘学子展现新气象。\n" +
                        "\n" +
                        "切实做到“两个解决好”\n" +
                        "\n" +
                        "“知其事而不度其时则败。”办好思政课，既要充分认识重大意义，更要以广阔的视野审时度势、精准研判，因时而进、顺势而为。\n" +
                        "\n" +
                        "当前，思政课建设怎么看、怎么办？在这篇重要讲话中，习近平总书记娴熟运用马克思主义立场、观点、方法，胸怀两个大局，贯通历史、现实和未来，对办好思政课科学把脉，提出做到“两个解决好”，即解决好“信心问题”和“培养什么人、怎样培养人、为谁培养人”的问题，提纲挈领、纲举目张，具有鲜明的现实性、针对性、引领性。\n" +
                        "\n" +
                        "看历史责任，习近平总书记强调：当前形势下，办好思政课，要放在世界百年未有之大变局、党和国家事业发展全局中来看待，要从坚持和发展中国特色社会主义、建设社会主义现代化强国、实现中华民族伟大复兴的高度来对待。未来30年，我们培养的人要能够完成“两个一百年”奋斗目标的伟业。\n" +
                        "\n" +
                        "看现实情况，习近平总书记指出：随着我国日益扩大开放、日益走近世界舞台中央，我国同世界的联系更趋紧密、相互影响更趋深刻，意识形态领域面临的形势和斗争也更加复杂。学校是意识形态工作的前沿阵地，可不是一个象牙之塔，也不是一个桃花源。要成为社会主义建设者和接班人，必须树立正确的世界观、人生观、价值观，把实现个人价值同党和国家前途命运紧紧联系在一起。\n" +
                        "\n" +
                        "看成绩问题，习近平总书记充分肯定成绩：这些年来思政课建设成效显著，教学方法不断创新，教师乐教善教、潜心育人，教师队伍规模和素质稳步提升，大中小学思政课一体化建设初显成效；同时，总书记严肃列出“问题清单”：有的地方和学校在对思政课重要性的认识、课堂教学效果、教材内容、教师选配和培养工作等方面的问题亟待解决。\n" +
                        "\n" +
                        "正是基于对思政课深刻而清醒的认识，习近平总书记明确要求，“在大中小学循序渐进、螺旋上升地开设思政课非常必要，是培养一代又一代社会主义建设者和接班人的重要保障”，强调办好思政课要做到“两个解决好”。\n" +
                        "\n" +
                        "解决好最重要的问题：信心。信心来自哪里？一是来自“根本保证”：党中央对教育工作高度重视，对思想政治工作、意识形态工作高度重视，始终坚持马克思主义指导地位，大力推进中国特色社会主义学科体系建设；二是来自“有力支撑”：我们党对“三大规律”的认识和把握不断深入，开辟了中国特色社会主义理论和实践发展新境界，中国特色社会主义取得举世瞩目的成就；三是来自“深厚力量”：我们通过守正创新形成了中国特色社会主义理论体系，在当前这个发展阶段历史性提出了习近平新时代中国特色社会主义思想，中华民族几千年来形成了博大精深的优秀传统文化，我们党带领人民在革命、建设、改革过程中锻造的革命文化和社会主义先进文化；四是来自“重要基础”：思政课建设长期以来形成的一系列规律性认识和成功经验。习近平总书记深刻指出：“有了这些基础和条件，有了我们这支可信、可敬、可靠，乐为、敢为、有为的思政课教师队伍，我们完全有信心有能力把思政课办得越来越好。”\n" +
                        "\n" +
                        "解决好根本问题：培养什么人、怎样培养人、为谁培养人。习近平总书记指出，办好思政课，最根本的是要全面贯彻党的教育方针，强调要坚持马克思主义指导地位，贯彻新时代中国特色社会主义思想，坚持社会主义办学方向，落实立德树人的根本任务，坚持“四为”方针，即为人民服务、为中国共产党治国理政服务、为巩固和发展中国特色社会主义制度服务、为改革开放和社会主义现代化建设服务，扎根中国大地办教育，同生产劳动和社会实践相结合，加快推进教育现代化、建设教育强国、办好人民满意的教育，努力培养担当民族复兴大任的时代新人，培养德智体美劳全面发展的社会主义建设者和接班人。\n" +
                        "\n" +
                        "习近平总书记提出的“两个解决好”，从诸多问题中划清了重点、抓住了关键，既解决了信心问题、又指明了根本方向，既是认识论、又是方法论，必将推动新时代思政课办得越来越好。\n" +
                        "\n" +
                        "关键在教师\n" +
                        "\n" +
                        "2006年9月27日，浙江大学紫金港校区，一堂别开生面的思政课正在进行。谈理想、话人生、说经历，情真意切、语重心长，娓娓道来、引人入胜，不时与青年学生互动，现场气氛十分活跃。这位主讲人，就是时任浙江省委书记的习近平，这已经是他第三次在杭州为大学生作报告。\n" +
                        "\n" +
                        "“讲好思政课不容易，因为这个课要求高。”在这篇重要讲话中，习近平总书记结合在浙江和福建讲课的经历，对这个问题作出了深入解答：一是思政课教学涉及面极广，“涉及马克思主义哲学、政治经济学、科学社会主义，涉及经济、政治、文化、社会、生态文明和党的建设，涉及改革发展稳定、内政外交国防、治党治国治军，涉及党史、国史、改革开放史、社会主义发展史，涉及世界史、国际共运史，涉及世情、国情、党情、民情，等等”；二是国内外形势、党和国家工作任务发展变化较快，“思政课教学内容要跟上时代，只有不断备课、常讲常新才能取得较好教学效果”；三是思政课上学生会提一些尖锐敏感的问题，“往往涉及深层次理论和实践问题”，对教师来说，要把这些问题讲清楚讲透彻并不容易，对党和国家成就、问题的认识和讲解要把握好。\n" +
                        "\n" +
                        "“经师易求，人师难得。”思政课政治性思想性学术性专业性熔于一炉、“术”“学”“道”紧密结合等特点，决定了对教师综合素质要求很高。正如习近平总书记多次强调的：“讲思想政治理论课，要让信仰坚定、学识渊博、理论功底深厚的教师来讲，让学生真心喜爱、终身受益。”党的十八大以来，习近平总书记就加强思政课教师队伍建设作出一系列重要论述，指引思政课教师队伍持续壮大、结构不断优化、整体素质不断提升，形成了一支可信、可敬、可靠，乐为、敢为、有为的思政课教师队伍。\n" +
                        "\n" +
                        "在这篇重要讲话中，习近平总书记紧密结合思政课的特点，着眼思政课的目标任务，对进一步提高思政课教师素养提出了“六个要”的要求。\n" +
                        "\n" +
                        "一是政治要强。要让有信仰的人讲信仰。习近平总书记强调，思政课教师只有自己信仰坚定，对所讲内容高度认同，做学习和实践马克思主义的典范，才能讲得有底气，讲深讲透，才能有效引导学生真学、真懂、真信、真用；要善于从政治上看问题，自觉用新时代中国特色社会主义思想武装头脑，在大是大非面前保持政治清醒。\n" +
                        "\n" +
                        "二是情怀要深。只有打动学生，才能引导学生。习近平总书记提出要有“三种情怀”：要有家国情怀，心里装着国家和民族，在党和人民的伟大实践中关注时代、关注社会，汲取养分、丰富思想；要有传道情怀，对马克思主义理论教育事业投入真情实感，对思政课教育教学有执着追求；要有仁爱情怀，把对家国的爱、对教育的爱、对学生的爱融为一体，心中始终装着学生。\n" +
                        "\n" +
                        "三是思维要新。思政课教学是一项非常有创造性的工作。习近平总书记要求，要学会辩证唯物主义和历史唯物主义，善于运用创新思维、辩证思维，善于运用矛盾分析方法抓住关键、找准重点、阐明规律，创新课堂教学，给学生深刻的学习体验，最终落到引导学生树立正确的理想信念、学会正确的思维方法上来。\n" +
                        "\n" +
                        "四是视野要广。习近平总书记要求思政课教师具备“三种视野”：要有知识视野，在马克思主义理论功底的基础上广泛涉猎其他哲学社会科学以及自然科学知识；要有宽广的国际视野，善于利用国内外的事实、案例、素材，在比较中回答学生的疑惑，在批判鉴别中明辨是非；要有历史视野，要有中华文明史、世界社会主义史、中国近现代史、党史、国史、改革开放史，有新时代中国特色社会主义取得的历史性成就、发生的历史性变革，通过生动、深入、具体的纵横比较，把道理讲明白、讲清楚。\n" +
                        "\n" +
                        "五是自律要严。习近平总书记要求思政课教师既要遵守教学纪律，也要遵守政治纪律和政治规矩，做到课上课下一致、网上网下一致，自觉弘扬主旋律，积极传递正能量。不能在课上讲得不错、却在课下乱讲，不能在现实生活中表现不错、却在网上乱说。不能怵于思政课的意识形态属性，总是绕开问题讲、避开难点讲。\n" +
                        "\n" +
                        "六是人格要正。思政课教师有堂堂正正的人格，思政课才会更有吸引力、感染力，才能感染学生、赢得学生。习近平总书记要求，要有学识魅力，用真理力量感召学生，以深厚理论功底赢得学生；有语言魅力，让学生从教师的话语中感受到教师的人格和学识；自觉修身修为，自觉做为学为人的表率，做让学生喜爱的人。\n" +
                        "\n" +
                        "习近平总书记对思政课教师提出的“六个要”的要求，是衡量思政课教师队伍建设的标准，必将极大提升思政课教师的素养，更好发挥其积极性、主动性、创造性。\n" +
                        "\n" +
                        "向改革创新要活力\n" +
                        "\n" +
                        "“张爷爷的介绍让我知道，新冠病毒就像一群怪兽，举着武器进攻人类”，“我们守住了自己的家园，我为我们的国家而自豪”。前不久，“人民英雄”张伯礼院士通过网络直播，为天津市大中小学师生上了一堂鲜活生动的抗疫思政课，用感人的事实、鲜明的对比回答了中国共产党为什么“能”、马克思主义为什么“行”、中国特色社会主义为什么“好”。天津市河西区平山道小学二年级学生李欣怡听后激动不已，在作文里写下这段心里话。\n" +
                        "\n" +
                        "触动心灵的教育才是最成功的教育。青少年是最活跃的群体，思政课建设只有“向改革创新要活力”，才能更有亲和力和感染力、更有针对性和实效性。在这篇重要讲话中，习近平总书记肯定和鼓励了很多学校思政课改革创新取得的积极成效，同时对推动思政课改革创新提出了坚持“八个相统一”的要求。\n" +
                        "\n" +
                        "一是坚持政治性和学理性相统一。习近平总书记强调：政治引导是思政课的基本功能，要以透彻的学理分析回应学生，以彻底的思想理论说服学生，用真理的强大力量引导学生；思政课教师所讲的理论、观点、结论要经得起学生各种“为什么”的追问；不能用学理性弱化政治性，在大中小学的不同学段，无论是讲故事、讲历史还是讲理论，都要体现思政课的政治引导功能。\n" +
                        "\n" +
                        "二是坚持价值性和知识性相统一。习近平总书记指出：思政课重在塑造学生的价值观，这一点必须牢牢抓住；不能只强调思政课的价值性，忽视知识性，而是要通过满足学生对知识的渴求加强价值观教育；不能只强调思政课的知识性，而是要寓价值观引导于知识传授之中。\n" +
                        "\n" +
                        "三是坚持建设性和批判性相统一。习近平总书记强调：思政课的任务是传导主流意识形态，要在传播马克思主义立场、观点、方法的基础上用好批判的武器，旗帜鲜明地剖析和批判各种错误观点和思潮；要教育引导学生正确看待、辩证认识、理性分析现实问题，在对社会假恶丑现象的批判中弘扬真善美；要坚持问题导向，把学生关注、疑惑的问题掰开、揉碎，深入研究解答；要练就不怕问、怕不问、见问则喜的真本领。\n" +
                        "\n" +
                        "四是坚持理论性和实践性相统一。习近平总书记强调：思政课要用科学理论培养人，遵循不同学段学生的认知规律，把马克思主义基本原理讲清楚、讲透彻；要把思政小课堂同社会大课堂结合起来，在理论和实践的结合中，教育引导学生把人生抱负落实到脚踏实地的实际行动中来，把学习奋斗的具体目标同民族复兴的伟大目标结合起来，立鸿鹄志，做奋斗者。\n" +
                        "\n" +
                        "五是坚持统一性和多样性相统一。习近平总书记强调：思政课的教学目标、课程设置、教材使用、教学管理等方面有统一要求，但具体落实要因地制宜、因时制宜、因材施教；思政课教师既要把统编教材作为依据，确保教学的规范性、科学性、权威性，又不能简单照本宣科；要在教学过程中进行多样化探索，通过多种方式实现教学目标。\n" +
                        "\n" +
                        "六是坚持主导性和主体性相统一。习近平总书记强调：思政课教学离不开教师的主导，同时要坚持以学生为中心，加大对学生的认知规律和接受特点的研究，发挥学生主体性作用；要教育引导学生多读马克思主义经典著作、当代中国马克思主义理论著作、中华优秀传统文化典籍等，要开出书单、指出重点，让学生正确理解经典著作。\n" +
                        "\n" +
                        "七是坚持灌输性和启发性相统一。习近平总书记强调：灌输是马克思主义理论教育的基本方法，让学生接受马克思主义，离不开必要的灌输，但这不等于搞填鸭式的“硬灌输”，要注重启发式教育，在不断启发中让学生水到渠成得出结论；会讲故事、讲好故事十分重要，要讲好中华民族、中国共产党、中华人民共和国、中国特色社会主义、改革开放的故事，特别是讲好新时代的故事，不仅老师讲，而且要组织学生自己讲。\n" +
                        "\n" +
                        "八是坚持显性教育和隐性教育相统一。习近平总书记强调：思政课要做思想政治教育的显性课程，办中国特色社会主义教育，既要理直气壮开好思政课，也要注重挖掘其他课程和教学方式中蕴含的思想政治教育资源，实现全员全程全方位育人；既要有惊涛拍岸的声势，也要有润物无声的效果。\n" +
                        "\n" +
                        "习近平总书记提出的“八个相统一”，是一整套紧密联系、有机统一的组合拳，体现了知、情、意、行的统一，深化了对思政课建设规律的认识，为推进思政课改革创新提供了科学遵循。\n" +
                        "\n" +
                        "党的领导是根本保证\n" +
                        "\n" +
                        "“党政军民学，东西南北中，党是领导一切的。”加强党对教育工作的全面领导，是办好思政课的根本保证。\n" +
                        "\n" +
                        "党的十八大以来，习近平总书记突出强调加强党的领导对于思政课建设的极端重要性，提出明确要求，为思政课建设指明正确政治方向。成立中央教育工作领导小组，加强党中央对教育工作的全面领导；坚持马克思主义在意识形态领域指导地位的根本制度，推动马克思主义中国化最新成果进教材、进课堂、进师生头脑；出台《关于加强中小学校党的建设工作的意见》、《关于加强和改进新形势下高校思想政治工作的意见》……实践证明，思政课建设之所以取得显著成效，最根本的就在于党的领导得到有力贯彻、全面加强。\n" +
                        "\n" +
                        "加强党对思政课建设的领导，是具体的，必须落实落细做到位。在这篇重要讲话中，习近平总书记进一步作出部署，具有很强的针对性。\n" +
                        "\n" +
                        "一是充分发挥各级党委作用。习近平总书记对各级党委抓思政课建设提出明确要求：摆上重要议程，抓住制约思政课建设的突出问题，在工作格局、队伍建设、支持保障等方面采取有效措施。强调要建立党委统一领导、党政齐抓共管、有关部门各负其责、全社会协同配合的工作格局；学校党委要坚持把从严管理和科学治理结合起来，党委书记、校长要做到“三个带头”，即带头走进课堂，带头推动思政课建设，带头联系思政课教师。\n" +
                        "\n" +
                        "二是切实调动思政课教师积极性、主动性、创造性。习近平总书记强调思政课的“学术深度广度和学术含金量不亚于任何一门哲学社会科学”，并针对当前思政课教师队伍建设中存在的突出问题作出具体部署：配齐建强思政课专职教师队伍，建设专职为主、专兼结合、数量充足、素质优良的思政课教师队伍；在思政课教师选用、管理、考核中严把政治关、师德关、业务关，解决好学风问题；创新工作机制，加大培养和激励工作力度，提高对优秀人才的吸引力；改革思政课教师评价机制，引导思政课教师把主要精力放在教书育人上；高度重视思政课教师队伍后备人才培养，加强马克思主义学院、马克思主义理论学科建设，统筹推进马克思主义理论本硕博一体化人才培养工作；把思政课教师作为学校干部队伍建设的重要来源，等等。\n" +
                        "\n" +
                        "三是统筹推进大中小学思政课一体化建设。习近平总书记提出“推动思政课建设内涵式发展”的目标，要求抓好不同学段“教学目标设计、课程设置、教材编写、教学改革、教师培养、考核评价”等环节，既不能揠苗助长、操之过急，又不能刻舟求剑、故步自封；坚持“大中小学纵向主线贯穿、循序渐进，各类课程横向结构合理、功能互补”原则，确保教材的“政治性、科学性、时代性、可读性”。\n" +
                        "\n" +
                        "四是全方位抓好学校思政工作。习近平总书记强调“学校思想政治工作不是单纯一条线的工作”，并分门别类地提出要求：完善课程体系，解决好各类课程和思政课相互配合的问题，解决好推动其他教职员工和思政课教师相辅相成的问题，推动思想政治工作贯通人才培养体系，发挥立德树人的协同效应；注重家校合作，发挥家长、家庭、家风的作用；民办学校、中外合作办学要把思政课建设摆在重要位置，“在这方面没有例外”；各地区各部门的负责同志要积极到学校去讲思政课。\n" +
                        "\n" +
                        "党和国家机构，是办好思政课的重要保障。习近平总书记对中央教育工作领导小组等抓好思政课建设、形成工作合力提出明确要求，强调思政课建设情况要“纳入学校党的建设工作考核、办学质量和学科建设评估等，督促学校切实把这项工作抓起来、抓到位”。\n" +
                        "\n" +
                        "“你是中国人吗？你爱中国吗？你愿意中国好吗？”85年前中华民族危亡之际的痛切之问，在新时代的阳光下迎来了青春激昂的回答。在习近平新时代中国特色社会主义思想教育下，新时代青少年一定能够成为合格的社会主义建设者和接班人，成为担当民族复兴大任的时代新人！");


                //  ------------FIXME 思想道德
                try {
                    if(answers.containsKey(subjectName)){

                        driver.findElement(By.cssSelector("*[class='btn btn-secondary']")).click();
                        Thread.sleep(2000);

                        WebElement element = driver.findElement(By.tagName("iframe"));
                        System.out.println(element.toString());
                        driver.switchTo().frame(element);
                        WebElement webElement = driver.findElement(By.tagName("body"));
                        String answer = answers.get(subjectName);
                        //answer = new String(answer.getBytes(),"utf-8");
                        if (null != webElement) {
                            webElement.clear();
                            webElement.sendKeys(answer);
                        }
                        //切换回主页面
                        driver.switchTo().defaultContent();
                    }
                    Thread.sleep(2000);
                    driver.findElement(By.id("id_submitbutton")).click();

                    if(subjectName.equals("马克思主义基本原理概论")){
                        for(WebElement submitBtn:driver.findElements(By.cssSelector("*[class='btn btn-secondary']"))){
                            if(submitBtn.getText().equals("提交作业")){
                                submitBtn.click();
                                break;
                            }
                        }
                        Thread.sleep(2000);
                        driver.findElement(By.id("id_submitbutton")).click();
                    }
                    try {
                        TimeUnit.SECONDS.sleep(2);
                        // 将新的完成作业的信息更新进去
                        FileUtils.write(completeInfoFile, JSONObject.toJSONString(completeInfoList, SerializerFeature.PrettyFormat), "utf-8");
                        driver.close();
                        driver.quit();
                    }catch (Exception e111){
                        e111.printStackTrace();
                    }
                    return;
                }catch (Exception e){
                    e.printStackTrace();
                    //   Thread.sleep(1000000);
                }finally {

                }
                //  ------------FIXME 思想道德




                for(WebElement we:driver.findElements(By.cssSelector("*[class='btn btn-secondary']"))){
                    System.err.println("???"+we.getText());
                    if(we.getText().trim().equals("添加作业")){
                        we.click();
                        Thread.sleep(2000);
                        driver.findElement(By.id("id_submitbutton")).click();
                        break;
                    }
                }

                Thread.sleep(5000);
                driver.findElement(By.cssSelector("i[class='icon fa fa-list fa-fw ']")).click();
                driver.findElement(By.cssSelector("div[class='dndupload-arrow']")).click();

                // 选中 选中文件
                for (WebElement we : driver.findElements(By.className("fp-repo-name"))) {
                    if (we.getText().trim().equals("上传一个文件")) {
                        we.click();
                    }
                }


                Thread.sleep(2000);
                WebElement upload = driver.findElement(By.cssSelector("input[name='repo_upload_file']"));
                System.err.println("name:" + upload.getAttribute("name"));
                //    upload.sendKeys("F:\\任务1.docx");
                //    upload.sendKeys( "F:\\"+subjectName+"\\"+"任务"+i+".docx");
                upload.sendKeys( "F:\\"+"任务"+i+".docx");
                i++;
                // ---工商企业管理(专科) --西方经济学  形考任务3：读书笔记-----

                Thread.sleep(2000);
                // 点击上传
                driver.findElement(By.cssSelector("button[class='fp-upload-btn btn-primary btn']")).click();
                Thread.sleep(2000);
                // 保存更改
                driver.findElement(By.cssSelector("input[type='submit']")).click();
                Thread.sleep(5 * 1000);

                for(WebElement we:driver.findElements(By.cssSelector("*[class='btn btn-secondary']"))){
                    System.err.println("???"+we.getText());
                    if(we.getText().trim().equals("提交作业")){
                        we.click();
                        Thread.sleep(2000);

                        try {
                            driver.findElement(By.id("id_submissionstatement")).click();
                            Thread.sleep(3000);
                        }catch (Exception e){

                        }

                        driver.findElement(By.id("id_submitbutton")).click();
                        Thread.sleep(5000);
                    }
                }


            } catch (Exception e) {
                System.err.println("taskUrl:" + urlTask + "  occur error");
                Thread.sleep(1000);
                e.printStackTrace();
            } finally {

            }
            //回到试题首页
            TimeUnit.SECONDS.sleep(2);
        }

        try {
            TimeUnit.SECONDS.sleep(2);
            // 将新的完成作业的信息更新进去
            FileUtils.write(completeInfoFile, JSONObject.toJSONString(completeInfoList, SerializerFeature.PrettyFormat), "utf-8");
            driver.close();
            driver.quit();
        }catch (Exception e111){
            e111.printStackTrace();
        }


    }


}
